home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 6 / Night Owl's Shareware - PDSI-006 - Night Owl Corp (1990).iso / 028a / unarj221.exe / UNARJ.DOC < prev    next >
Text File  |  1991-09-23  |  10KB  |  229 lines

  1. 
  2.      UNARJ.DOC, UNARJ 2.21                              September 1991
  3.  
  4.  
  5.         UNARJ software and manual copyright (c) 1991 by Robert K Jung.
  6.         All rights reserved.
  7.  
  8.         UNARJ version 2.21 release
  9.  
  10.  
  11.      This documents new or updated information since UNARJ 2.10.
  12.  
  13.  
  14.      ** IMPORTANT NEWS ****************************************************
  15.  
  16.      There is an extended header bug in older versions of ARJ, AV.C and
  17.      UNARJ.C.  The extended header processing in read_header() should skip
  18.      4 bytes for the extended header CRC and not 2 bytes.  This is NOT a
  19.      current problem as no versions of ARJ use the extended header.
  20.  
  21.      The following source line in DECODE.C is AMBIGUOUS and has been
  22.      corrected.
  23.  
  24.         weight[i++] = 1 << (16 - i);
  25.  
  26.      **********************************************************************
  27.  
  28.      Here is the C source code for a simple UNARJ extractor program.  It
  29.      has been portabilized courtesy of Mark Adler for platforms that do not
  30.      support ANSI C.  This UNARJ is NOT meant for use as a production
  31.      quality ARJ extractor.  It is meant for the use of 3rd party
  32.      developers who want to build file readers, etc, for ARJ.  The UNARJ
  33.      source code has been built and tested under Turbo C++ 1.0, Quick C
  34.      2.5, and Coherent 3.2.0.
  35.  
  36.      It has none of the program protection and other fancy features of
  37.      ARJ 2.21.  It is also VERY SLOW compared to ARJ!!!  In ARJ, all of
  38.      the critical routines are written in assembly language.
  39.  
  40.  
  41.      COMMAND SYNTAX:
  42.  
  43.      UNARJ has been modified to support the four commands: "e", "l", "t",
  44.      and "x".  These are equivalent to the ARJ version of these commands.
  45.      However, UNARJ does not create directories when using the "x" command.
  46.  
  47.      Usage:  UNARJ archive[.arj]    (list archive)
  48.              UNARJ e archive        (extract archive)
  49.              UNARJ l archive        (list archive)
  50.              UNARJ t archive        (test archive)
  51.              UNARJ x archive        (extract with pathnames)
  52.  
  53.      UNARJ does not accept any other commands or options.  You cannot
  54.      specify a base directory or select individual files to extract.  UNARJ
  55.      does not support empty directories or volume labels.  UNARJ is much
  56.      slower than ARJ because ARJ is highly optimized using assembly
  57.      language.
  58.  
  59.  
  60.      "e" extract command
  61.  
  62.      This command extracts the contents of the ARJ archive to the current
  63.      directory.  Files in the archive that already exist in the current
  64.      directory will not be extracted.
  65.  
  66.  
  67.      "l" list command
  68.  
  69.      This command lists the contents of the archive to the screen.  The
  70.      UNARJ l command replaces the old AV.EXE program.
  71.  
  72.      The last field on the display TPMGVX stands for:
  73.          T -> text/binary/directory/volume label type
  74.          P -> path information available in "V" listing
  75.          M -> compression method used
  76.          G -> file has been garbled (encrypted)
  77.          V -> archive has been continued to another volume
  78.          X -> this file is an extended portion of a larger file
  79.  
  80.  
  81.      "t" test command
  82.  
  83.      This command tests the contents of the archive by extracting the files
  84.      to the NUL device (no data will be written to disk).  If the contents
  85.      of a file is corrupted, UNARJ will display "CRC error!".  If the
  86.      contents are valid, UNARJ will display "CRC OK".
  87.  
  88.      You can use this command to see if an archive contains pathnames.
  89.  
  90.  
  91.      "x" extract with pathnames command
  92.  
  93.      This command extracts the contents of the ARJ archive to the pathnames
  94.      stored in the archive.  If only filespecs are stored in the archive,
  95.      then the files will be extracted to the current directory.  UNARJ will
  96.      not create missing directories in the pathnames.  You must create them
  97.      manually.  Use the UNARJ t command to see the full pathnames stored in
  98.      the archive.
  99.  
  100.  
  101.      PROGRESS INDICATOR
  102.  
  103.      UNARJ uses a small spinning bar to indicate extraction/testing
  104.      progress.
  105.  
  106.  
  107.      BUILDING THE UNARJ PROGRAM
  108.  
  109.      Source files:  UNARJ.C, DECODE.C, ENVIRON.C, UNARJ.H, UNARJ.DEF,
  110.                     TCCUNARJ.MAK, QCLUNARJ.MAK, OS2UNARJ.MAK.
  111.  
  112.      For Turbo C/C++, type MAKE /ftccunarj.mak
  113.  
  114.      For QuickC,      type NMAKE /F qclunarj.mak
  115.  
  116.      For OS/2,        type NMAKE /F os2unarj.mak
  117.  
  118.      For Coherent,    type
  119.          cc -DUNIX -DCOHERENT -o unarj unarj.c decode.c environ.c
  120.  
  121.      For UNIX         type cc -DUNIX -o unarj unarj.c decode.c environ.c
  122.  
  123.      If you use a compiler other than listed above, the resulting UNARJ.EXE
  124.      will not support restoring file date-time stamps.  You can modify the
  125.      ENVIRON.C file to add these functions for your particular
  126.      implementation environment.
  127.  
  128.      If you send me your implementations, I will try to incorporate them
  129.      into the next version of UNARJ.
  130.  
  131.  
  132.      ACKNOWLEDGEMENTS:
  133.  
  134.      I wish to thank Haruhiko Okumura for providing the ideas for ARJ and
  135.      UNARJ.  His AR001 and AR002 provided the basic compression algorithms
  136.      for ARJ 1.0.  At ARJ 2.0, ARJ uses only the secondary Huffman
  137.      compressor from AR002.
  138.  
  139.      I wish to thank Mark Adler for helping make UNARJ more portable.
  140.  
  141.      I also wish to acknowledge the use of the file date-time stamping
  142.      routines in Rahul Dhesi's ZOO archiver.
  143.  
  144.      And to those who have contributed bug reports and porting
  145.      information, I extend my thanks.
  146.  
  147.  
  148.      UNARJ LICENSE POLICY FOR ALL USERS:
  149.  
  150.      The UNARJ program, source code, and the associated documentation
  151.      are copyright (c) 1990,91 Robert K Jung, all rights reserved.
  152.  
  153.      If you distribute this software to others, you are required to
  154.      distribute the ENTCl  rts resuse of the  UN    If you dyright (c)    I wish l   And to tME     provided thng file d         extended headextendRJ.DEF,
  155.  functions for extended heaHfile d       EF
  156. OS2UNARJ.MAK.
  157.  
  158.   
  159. OS2UN For Turbo C
  160. OS2UN++, type MAK
  161. OS2UNAECH
  162.   E     the use  thongpreto fng UNAthe current be of the  UNiles will     URJ willtri
  163.   seew or upddUNARJ.H,2d t on  comm     st-SECURITYe yoaderse c  I wise UNAdthe  are uporr. to otherUse tof the  UN    Iive)
  164.         RESS INDI file is       R     U,rt  updurce files:eARJ.H,2d t on a comcurrenanks.
  165.  
  166.  
  167. sthme lastle is       . tRe-      alsh l 1991 by RuirevirUNAacb curry
  168.   s losage:  UNight el
  169.  nt fITYe yoaand to see ime tfnd 
  170.   u the full patARJ extractor n algorithms
  171. ICENxtractoplad to s no vn
  172.      storedr (b la I wish t the ARJ arc
  173.     b cur)porr. to ing filethe fise tof the a commands:OWLEDGEMENTS:
  174.  
  175.   2d stribuMUST     progGRESS INg Uito ARJ commands:OWLEDGEMb la reate thancy fethe J extractors software to ose the a commands:OWLEDGEMENTS:
  176.  
  177.   2d str he extapish copy versions Ju  alsh lnce J extractorsthe um h laage:  UNK Jung, alfor:
  178.   J extrersions ntate o U,rt  This Uyoule paty ive.thank te thancy feb currdevelodirectort (c) 1990,.rce code, and thfield on theo ARC++ 1.hank tee reqextra
  179.  
  180.  
  181.    .5, and Coherand to see ime tfnd 
  182.   u t,NK Juation
  183. se tof the S:
  184.  
  185.   2d stn algorithmg Unrts resfesplay hmmandportasuse u t,NK Ju   I r
  186. se tof th90,.rce codee ime tu thnd thfieldCOMMnameser coll 1991ou dyrign algorithmg ctories  parih90,    esplay hmmandporta
  187.  
  188.  
  189.    nd thfieldaCENxtrlgorithmg Uelodirectu tr  they
  190.      t/binarhmg UNOetcrrc, to extme stamlayxtrlgoritort     provided tsthMsh orecto stampirotherU they
  191.      t/binrhmg Uer commandctories inand p stal  tampyrigee 
  192.     as  command.the contentsJ extractor lem nle
  193.  
  194.  
  195.    fixtrmohe  UN ARJ.    I with9anties noNARJ is NOT me stamping
  196.  1 and A
  197.      storedY FOR ALL S2UNAll L SUP**** And to PU,rt  rmatios.  Yinfs. em
  198.      Tn A fifixion oporr. to oand NG THE Adler fo too itrlcorposstr he extapish copy sh eARJ    ns Ju  alsh ms software to of   Uer com al   utati giftm al10mmalonmrrdev.  Yamou  nhe extb NG THEge they
  199. apish copyis softwarC filb UNARch.EXEt And to trved.
  200.     XEtde, aB
  201.  
  202.  k Dionhs BBS   508) 427-5379And to trved.
  203.     XEtdBe tStopy BBS  s)
  204.  
  205.     617) 598-6646And to trved.
  206.     XEtdFCDONET parsh tupd1:16/390.7And to trved.
  207.     Xreate t com(RIME/RELAYNET),has Pes a (ILINK),hLHAs c/NARJ has Pes aIONa (SMARTNET),huses CHI InSm(RIME/RELAYNET) echoRJ will dfUNIXcnd.the con2606 V   yrigRoad 5s. d to s orwoo".
  208. M arRchmpittri02062     prSA softwarnlernet parsh tupdusej   @world.std.ame   Checkyrig   y any othC wiute thampirsC filenleroth>INTERNET:dusej   @world.std.ame RESS Ime sta"Seted b"ixtrmpt. em
  209. gpreto C wiuSe thampirsCred iby Roilata will be ARJarsh tt on NOTs
  210.    fity C wiuSe thampirixtb .any othC wiuSe thampirix: 72077,445   Checkyriks.he Eenl y anheadextISCLAIMER:the contentsJ  1991n ARJ becxtrlgoritf
  211.     "aem a"
  212.     st on arcetcrrc, t UNARJ wil  Yk      xish tritf to inirrore nlu    I thes inlngu  UNARJ wient.
  213.  
  214.     nds:tcrrc, is muf ser OLIler fo tod A
  215. fitnh ttprogran environment.
  216.  
  217. purOTs
  218.  has beeadeo  Usage:  UNJ  1991benmrr you dskt onARJ wient.
  219.  
  220.  meant faCENxer   R ORTA alsh l 199. She ext  UNJ  1991itrlcbuild fifes o    willmpiro arum    Theenlirt K stm al youneld srom rmaairJ.MAK, te tici  Ifor++] = 1 90,.has be are u  "l" list coliM -> fdev.  y or selectalore ngorIlel,ght (e Eenltalore   You o extnguonmig myriforue noNARJ ilos muf .  Ifdev.  Y lastlNARs  UNirenamesthe  are ufdev.  yrints are written are uf volume
  221.  advitritfother fos ir fo tofotsuse g myrif FOR ALL HISspiYed to support ments- COLIandpu nl r1990or red  199cpu nl r1990or..MAK, QCLUNARJ.MAK,tRorit#iffif VMS red    If ..MAK, QCLUNARJ.MAK,Tick C
  222.   c
  223.  
  224.  o  ode.c env(c envcl  er..MAK, QCLUNARJ.MAK,Fixge.
  225.  
  226. TA al_chcom redOLIdl"x" command.
  227. ..MAK, QCLUNARJ.MAK,Mommands:    If y "e", "l", "t",MACce INK_Cbove, the..MAK, QCLUNARJ.MAK,tRorit#i nlu e <stdlib.h>y "evan   yt el"t" testcompiler ..MAK, QCLUNARJ.MAK,tRoritroutines in Rahul Dhesiy "ec env el"t" testcompiler .. to support men0s- COLIandpmmation sireaget_come_ toor the Jet_fn Ra_comeor re.MAK, QCLUNARJ.MAK,ImeU,rtry w-tiuag (16 - i);
  228. UNARJ.MAK,tRoritfifat s_crt _archor for++]TYeniIXcnireac en (16 - i);
  229. UNARJ.MAK,tRorittwoathnames.%c.hank pYoutfd  19corpoirea